package io.gitee.kotle.android.library.websocket

/**
 *
 * 描述：
 *
 * @author jiale.wei
 *
 * 创建时间：2022/8/10 15:38
 *
 */
interface IWebSocket {
    interface Listener {
        /**
         * 连接状态回调
         */
        fun onConnectStatus(status: WebSocketStatus) {

        }

        /**
         * 消息回调
         */
        fun onMessage(data: String) {

        }
    }

    /**
     * 监听器集合
     */
    val listeners: List<Listener>

    /**
     * 开始连接
     */
    fun connect(wsUrl: String)

    /**
     * 发送消息
     */
    fun send(message: String): Boolean

    /**
     * 断开连接
     */
    fun disConnect()

    /**
     * 添加监听
     */
    fun addListener(l: Listener?)

    /**
     * 移除监听
     */
    fun removeListener(l: Listener?)
}